[INFO] fetching crate cdshealpix 0.5.2...
[INFO] checking cdshealpix-0.5.2 against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] extracting crate cdshealpix 0.5.2 into /workspace/builds/worker-8/source
[INFO] validating manifest of crates.io crate cdshealpix 0.5.2 on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking crates.io crate cdshealpix 0.5.2
[INFO] finished tweaking crates.io crate cdshealpix 0.5.2
[INFO] tweaked toml for crates.io crate cdshealpix 0.5.2 written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 5d99ebf40ffd5969ad76b67b6439e252cf7bb8ec4986d3291a05a52f7b7929c5
[INFO] running `Command { std: "docker" "start" "-a" "5d99ebf40ffd5969ad76b67b6439e252cf7bb8ec4986d3291a05a52f7b7929c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5d99ebf40ffd5969ad76b67b6439e252cf7bb8ec4986d3291a05a52f7b7929c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d99ebf40ffd5969ad76b67b6439e252cf7bb8ec4986d3291a05a52f7b7929c5", kill_on_drop: false }`
[INFO] [stdout] 5d99ebf40ffd5969ad76b67b6439e252cf7bb8ec4986d3291a05a52f7b7929c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9d08b0064734f0d8dd925b12d3e96c51a2e91baacbb090f64eb6b9ef5afbc76
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c9d08b0064734f0d8dd925b12d3e96c51a2e91baacbb090f64eb6b9ef5afbc76", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Checking half v1.6.0
[INFO] [stderr]     Checking oorandom v11.1.2
[INFO] [stderr]     Checking katex-doc v0.1.0
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling num-bigint v0.2.6
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling num-iter v0.1.41
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]     Checking itertools v0.9.0
[INFO] [stderr]     Checking regex-automata v0.1.9
[INFO] [stderr]     Checking plotters v0.2.15
[INFO] [stderr]    Compiling syn v1.0.40
[INFO] [stderr]     Checking serde_cbor v0.11.1
[INFO] [stderr]     Checking bstr v0.2.13
[INFO] [stderr]     Checking csv v1.1.3
[INFO] [stderr]     Checking criterion-plot v0.4.3
[INFO] [stderr]     Checking num v0.2.1
[INFO] [stderr]     Checking cdshealpix v0.5.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::Once`
[INFO] [stdout]  --> src/nested/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Once;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]   --> src/nested/moc/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::cmp::{min, max};
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Map`
[INFO] [stdout]   --> src/nested/moc/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::iter::Map;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `append_external_edge_sorted`
[INFO] [stdout]   --> src/nested/moc/mod.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 | use super::{internal_edge_sorted, append_external_edge, append_external_edge_sorted};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> src/nested/mod.rs:2702:3
[INFO] [stdout]      |
[INFO] [stdout] 2702 |   (((k << 2) + ( ((i as i8) + ((k - 1) >> 7)) & 3_i8)) as u8)
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sph_geom::coo3d::UnitVec3`
[INFO] [stdout]   --> src/sph_geom/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::sph_geom::coo3d::UnitVec3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dd` is never read
[INFO] [stdout]    --> src/nested/moc/compressed.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |           let (mut dd, mut target_h) = if self.d > curr_d {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_h`
[INFO] [stdout]     --> src/nested/bmoc.rs:1043:20
[INFO] [stdout]      |
[INFO] [stdout] 1043 |       let (curr_d, curr_h) = self.get_depth_icell(self.entries[0]);
[INFO] [stdout]      |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_h`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_d`
[INFO] [stdout]     --> src/nested/bmoc.rs:1046:12
[INFO] [stdout]      |
[INFO] [stdout] 1046 |       for (curr_d, curr_h) in self.entries.iter().map(|e| self.get_depth_icell(*e)) {
[INFO] [stdout]      |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `d` is never read
[INFO] [stdout]     --> src/nested/bmoc.rs:1059:9
[INFO] [stdout]      |
[INFO] [stdout] 1059 |     let mut d = 0;
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dd` is never read
[INFO] [stdout]     --> src/nested/bmoc.rs:1085:12
[INFO] [stdout]      |
[INFO] [stdout] 1085 |       let (mut dd, mut target_h) = if d > curr_d { // case previous hash deeper that current hash
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/mod.rs:607:10
[INFO] [stdout]     |
[INFO] [stdout] 607 |   fn new(mut it: &mut R) -> MOCIteratorFromRefRanges<H, R> {
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/op.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let mut curr = it.next();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/compressed.rs:113:43
[INFO] [stdout]     |
[INFO] [stdout] 113 |   fn push_n_empty_nodes_notest(&mut self, mut n: H) {
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/compressed.rs:182:24
[INFO] [stdout]     |
[INFO] [stdout] 182 |           let (mut dd, mut target_h) = if self.d > curr_d {
[INFO] [stdout]     |                        ----^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/nested/bmoc.rs:1085:20
[INFO] [stdout]      |
[INFO] [stdout] 1085 |       let (mut dd, mut target_h) = if d > curr_d { // case previous hash deeper that current hash
[INFO] [stdout]      |                    ----^^^^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `haversine_dist`
[INFO] [stdout]    --> src/lib.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn haversine_dist(p1_lon: f64, p1_lat: f64, p2_lon: f64, p2_lat: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `next_clockwise`
[INFO] [stdout]   --> src/compass_point.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |   pub(super) fn next_clockwise(&self) -> Cardinal {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `next_counter_clockwise`
[INFO] [stdout]   --> src/compass_point.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub(super) fn next_counter_clockwise(&self) -> Cardinal {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_node_empty`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:105:6
[INFO] [stdout]     |
[INFO] [stdout] 105 |   fn push_node_empty(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_node_empty_notest`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:109:6
[INFO] [stdout]     |
[INFO] [stdout] 109 |   fn push_node_empty_notest(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_node_full`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |   fn push_node_full(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_leaf_empty`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:138:6
[INFO] [stdout]     |
[INFO] [stdout] 138 |   fn push_leaf_empty(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_leaf_empty_notest`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:142:6
[INFO] [stdout]     |
[INFO] [stdout] 142 |   fn push_leaf_empty_notest(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_leaf_full`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 |   fn push_leaf_full(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/nested/moc/mod.rs:607:6
[INFO] [stdout]     |
[INFO] [stdout] 607 |   fn new(mut it: &mut R) -> MOCIteratorFromRefRanges<H, R> {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `highest_one_bit`
[INFO] [stdout]    --> src/nested/mod.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | const fn highest_one_bit(mut i: u64) -> u64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `TRANSITION_Z`
[INFO] [stdout]  --> src/nested/gpu.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub const TRANSITION_Z: f32 = 2.0 / 3.0;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `TRANSITION_Z_INV`
[INFO] [stdout]  --> src/nested/gpu.rs:8:1
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const TRANSITION_Z_INV: f32 = 3.0 / 2.0;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `hash_with_dxdy`
[INFO] [stdout]   --> src/nested/gpu.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn hash_with_dxdy(depth: u8, x: f32, y: f32, z: f32) -> (u32, f32, f32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `xpm1_and_q`
[INFO] [stdout]    --> src/nested/gpu.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn xpm1_and_q(x: f32, y: f32) -> (f32, u8) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `one_minus_z_pos`
[INFO] [stdout]    --> src/nested/gpu.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn one_minus_z_pos(x: f32, y: f32, z: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `one_minus_z_neg`
[INFO] [stdout]    --> src/nested/gpu.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn one_minus_z_neg(x: f32, y: f32, z: f32) -> f32 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `ij2z`
[INFO] [stdout]    --> src/nested/gpu.rs:215:4
[INFO] [stdout]     |
[INFO] [stdout] 215 | fn ij2z(mut i: u32, mut j: u32) -> u32 {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `nside_remainder_mask`
[INFO] [stdout]    --> src/nested/mod.rs:431:3
[INFO] [stdout]     |
[INFO] [stdout] 431 |   nside_remainder_mask: u64, // = nside - 1
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hash_v1`
[INFO] [stdout]    --> src/nested/mod.rs:534:6
[INFO] [stdout]     |
[INFO] [stdout] 534 |   fn hash_v1(&self, lon: f64, lat: f64) -> u64 {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hash_with_dxdy_v1`
[INFO] [stdout]    --> src/nested/mod.rs:678:6
[INFO] [stdout]     |
[INFO] [stdout] 678 |   fn hash_with_dxdy_v1(&self, lon: f64, lat: f64) -> (u64, f64, f64) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `shift_rotate_scale`
[INFO] [stdout]    --> src/nested/mod.rs:713:6
[INFO] [stdout]     |
[INFO] [stdout] 713 |   fn shift_rotate_scale(&self, xy: &mut (f64, f64)) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `base_cell_coos`
[INFO] [stdout]    --> src/nested/mod.rs:722:6
[INFO] [stdout]     |
[INFO] [stdout] 722 |   fn base_cell_coos(&self, ij: &(u64, u64)) -> (u8, u8) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_coos_in_base_cell`
[INFO] [stdout]    --> src/nested/mod.rs:732:6
[INFO] [stdout]     |
[INFO] [stdout] 732 |   fn to_coos_in_base_cell(&self, ij: &mut (u64, u64)) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `modulo_nside`
[INFO] [stdout]    --> src/nested/mod.rs:739:6
[INFO] [stdout]     |
[INFO] [stdout] 739 |   fn modulo_nside(&self, val: u64) -> u64 {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `depth0_bits`
[INFO] [stdout]    --> src/nested/mod.rs:766:6
[INFO] [stdout]     |
[INFO] [stdout] 766 |   fn depth0_bits(&self, i: u8, j: u8, mut ij: (u64, u64), xy: (f64, f64)/*, lon: f64, lat: f64*/) -> u64 {
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `ncell_in_cone_upper_bound`
[INFO] [stdout]     --> src/nested/mod.rs:2342:6
[INFO] [stdout]      |
[INFO] [stdout] 2342 |   fn ncell_in_cone_upper_bound(&self, cone_radius: f64) -> usize {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hashs`
[INFO] [stdout]     --> src/nested/mod.rs:2674:6
[INFO] [stdout]      |
[INFO] [stdout] 2674 |   fn hashs<T: LonLatT>(&self, poly_vertices: &[T]) -> Box<[u64]> {
[INFO] [stdout]      |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `allsky_bmoc`
[INFO] [stdout]     --> src/nested/mod.rs:2684:6
[INFO] [stdout]      |
[INFO] [stdout] 2684 |   fn allsky_bmoc(&self) -> BMOC {
[INFO] [stdout]      |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `discretize`
[INFO] [stdout]     --> src/nested/mod.rs:2981:10
[INFO] [stdout]      |
[INFO] [stdout] 2981 | const fn discretize(xy: (f64, f64)) -> (u64, u64) {
[INFO] [stdout]      |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `triangular_number_x4_u32`
[INFO] [stdout]    --> src/ring/mod.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) const fn triangular_number_x4_u32(n: u32) -> u64 {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `build_hash`
[INFO] [stdout]    --> src/ring/mod.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn build_hash(nside: u32, i_ring: u32, mut i_in_ring: u32) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_cor_matrix`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |   pub fn from_cor_matrix(sig_x: f64, sig_y: f64, rho: f64) -> Ellipse {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_a_b_theta`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn to_a_b_theta(&self) -> (f64, f64, f64) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_stat_by_circle`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 |   fn extended_stat_by_circle(&self, sig: f64) -> Ellipse {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_stat`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn extended_stat(&self, other: &Ellipse) -> Ellipse {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_geom_by_circle`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:87:6
[INFO] [stdout]    |
[INFO] [stdout] 87 |   fn extended_geom_by_circle(&self, sig: f64) -> Ellipse {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `path_along_edge`
[INFO] [stdout]    --> src/xy_geom/ellipse.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 |   pub fn path_along_edge(a: f64, b: f64, theta: f64, half_num_points: usize) -> Box<[(f64, f64)]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `rotate`
[INFO] [stdout]    --> src/xy_geom/ellipse.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn rotate(x: f64, y: f64, cost: f64, sint: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `path_along_edge`
[INFO] [stdout]    --> src/sph_geom/elliptical_cone.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 |   pub fn path_along_edge(lon: f64, lat: f64, a: f64, b: f64, theta: f64, half_num_points: usize) -> Box<[(f64, f64)]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cone_special_point_in_eqr`
[INFO] [stdout]    --> src/special_points_finder.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn cone_special_point_in_eqr(mut z: f64, z0: f64, eucl_cone_radius: f64, north_point: bool,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cone_special_point_in_pc`
[INFO] [stdout]    --> src/special_points_finder.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn cone_special_point_in_pc(mut z: f64, cone_center_lon_mod_half_pi: f64,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_derive v1.0.116
[INFO] [stderr]     Checking criterion v0.3.3
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> benches/nested_hash.rs:15:26
[INFO] [stdout]    |
[INFO] [stdout] 15 | use cdshealpix::nested::{self, get_or_create};
[INFO] [stdout]    |                          ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `get_zoc`
[INFO] [stdout]   --> benches/nested_hash.rs:16:57
[INFO] [stdout]    |
[INFO] [stdout] 16 | use cdshealpix::nested::zordercurve::{ZOC, ZOrderCurve, get_zoc};
[INFO] [stdout]    |                                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> benches/nested_hash.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |   let nside = (1u32 << depth);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> benches/nested_hash.rs:40:15
[INFO] [stdout]    |
[INFO] [stdout] 40 |   let nside = (1u32 << depth);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression
[INFO] [stdout]    --> benches/nested_hash.rs:212:16
[INFO] [stdout]     |
[INFO] [stdout] 212 |   for depth in (1..29) {
[INFO] [stdout]     |                ^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> benches/zordercurve.rs:45:63
[INFO] [stdout]    |
[INFO] [stdout] 45 |   group.bench_with_input(BenchmarkId::new("LUPT", 1), &1, |b, pos| b.iter(||
[INFO] [stdout]    |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> benches/zordercurve.rs:48:63
[INFO] [stdout]    |
[INFO] [stdout] 48 |   group.bench_with_input(BenchmarkId::new("XOR", 2), &2,  |b, pos| b.iter(||
[INFO] [stdout]    |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]   --> benches/nested_hash.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn build_hash(depth: u8, d0h_bits: u64, i: u32, j: u32) -> u64 {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> benches/nested_hash.rs:217:72
[INFO] [stdout]     |
[INFO] [stdout] 217 |     group.bench_with_input(BenchmarkId::new("x2^n v1", 1), &depth, |b, pos| b.iter(||
[INFO] [stdout]     |                                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> benches/nested_hash.rs:220:73
[INFO] [stdout]     |
[INFO] [stdout] 220 |     group.bench_with_input(BenchmarkId::new("x2^n v2", 2), &depth,  |b, pos| b.iter(|| 
[INFO] [stdout]     |                                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> benches/nested_hash.rs:223:73
[INFO] [stdout]     |
[INFO] [stdout] 223 |     group.bench_with_input(BenchmarkId::new("x2^n v3", 3), &depth,  |b, pos| b.iter(||
[INFO] [stdout]     |                                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> benches/nested_hash.rs:237:30
[INFO] [stdout]     |
[INFO] [stdout] 237 |                          |b, pos| b.iter(|| benchmark_hash_v1(depth, &positions)));
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> benches/nested_hash.rs:239:30
[INFO] [stdout]     |
[INFO] [stdout] 239 |                          |b, pos| b.iter(|| benchmark_hash_v2(depth, &positions)));
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]    --> benches/nested_hash.rs:241:30
[INFO] [stdout]     |
[INFO] [stdout] 241 |                          |b, pos| b.iter(|| benchmark_hash_v3(depth, &positions)));
[INFO] [stdout]     |                              ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `bench_time_pow2`
[INFO] [stdout]    --> benches/nested_hash.rs:209:4
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn bench_time_pow2(c: &mut Criterion) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> benches/nested_hash.rs:160:53
[INFO] [stdout]     |
[INFO] [stdout] 160 |   let q = (x as u8 | 1_u8) & 7_u8;    debug_assert!(0 <= q && q < 8);
[INFO] [stdout]     |                                                     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Once`
[INFO] [stdout]  --> src/nested/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::Once;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]   --> src/nested/moc/mod.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::cmp::{min, max};
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter::Map`
[INFO] [stdout]   --> src/nested/moc/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use std::iter::Map;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `append_external_edge_sorted`
[INFO] [stdout]   --> src/nested/moc/mod.rs:27:57
[INFO] [stdout]    |
[INFO] [stdout] 27 | use super::{internal_edge_sorted, append_external_edge, append_external_edge_sorted};
[INFO] [stdout]    |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/nested/gpu.rs:250:13
[INFO] [stdout]     |
[INFO] [stdout] 250 |       match (h & 3) {
[INFO] [stdout]     |             ^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/nested/gpu.rs:293:11
[INFO] [stdout]     |
[INFO] [stdout] 293 |     match (h & 3) {
[INFO] [stdout]     |           ^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/nested/gpu.rs:336:13
[INFO] [stdout]     |
[INFO] [stdout] 336 |       match (h & 3) {
[INFO] [stdout]     |             ^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]     --> src/nested/mod.rs:2702:3
[INFO] [stdout]      |
[INFO] [stdout] 2702 |   (((k << 2) + ( ((i as i8) + ((k - 1) >> 7)) & 3_i8)) as u8)
[INFO] [stdout]      |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]     --> src/nested/mod.rs:4192:9
[INFO] [stdout]      |
[INFO] [stdout] 4192 |     use std::fs::File;
[INFO] [stdout]      |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sph_geom::coo3d::UnitVec3`
[INFO] [stdout]   --> src/sph_geom/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::sph_geom::coo3d::UnitVec3;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dd` is never read
[INFO] [stdout]    --> src/nested/moc/compressed.rs:182:16
[INFO] [stdout]     |
[INFO] [stdout] 182 |           let (mut dd, mut target_h) = if self.d > curr_d {
[INFO] [stdout]     |                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_h`
[INFO] [stdout]     --> src/nested/bmoc.rs:1043:20
[INFO] [stdout]      |
[INFO] [stdout] 1043 |       let (curr_d, curr_h) = self.get_depth_icell(self.entries[0]);
[INFO] [stdout]      |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_h`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `curr_d`
[INFO] [stdout]     --> src/nested/bmoc.rs:1046:12
[INFO] [stdout]      |
[INFO] [stdout] 1046 |       for (curr_d, curr_h) in self.entries.iter().map(|e| self.get_depth_icell(*e)) {
[INFO] [stdout]      |            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `d` is never read
[INFO] [stdout]     --> src/nested/bmoc.rs:1059:9
[INFO] [stdout]      |
[INFO] [stdout] 1059 |     let mut d = 0;
[INFO] [stdout]      |         ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `dd` is never read
[INFO] [stdout]     --> src/nested/bmoc.rs:1085:12
[INFO] [stdout]      |
[INFO] [stdout] 1085 |       let (mut dd, mut target_h) = if d > curr_d { // case previous hash deeper that current hash
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `actual_res_exact`
[INFO] [stdout]     --> src/nested/mod.rs:4012:9
[INFO] [stdout]      |
[INFO] [stdout] 4012 |     let actual_res_exact = polygon_coverage(depth, &vertices, true);
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_actual_res_exact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `d0h_bits`
[INFO] [stdout]     --> src/nested/mod.rs:4128:9
[INFO] [stdout]      |
[INFO] [stdout] 4128 |     let d0h_bits = layer_0.depth0_bits(ij_d0c.0, ij_d0c.1, ij, xy/*, lon, lat*/);
[INFO] [stdout]      |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_d0h_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/nested/mod.rs:3938:9
[INFO] [stdout]      |
[INFO] [stdout] 3938 |     let mut vertices = [
[INFO] [stdout]      |         ----^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/mod.rs:607:10
[INFO] [stdout]     |
[INFO] [stdout] 607 |   fn new(mut it: &mut R) -> MOCIteratorFromRefRanges<H, R> {
[INFO] [stdout]     |          ----^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/op.rs:387:9
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let mut curr = it.next();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/op.rs:863:11
[INFO] [stdout]     |
[INFO] [stdout] 863 |       let mut full_1: Vec<HpxCell<u64>> = (0..12_u64).into_iter()
[INFO] [stdout]     |           ----^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/op.rs:865:11
[INFO] [stdout]     |
[INFO] [stdout] 865 |       let mut full_2: Vec<HpxCell<u64>> = (0..12_u64).into_iter()
[INFO] [stdout]     |           ----^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/op.rs:882:11
[INFO] [stdout]     |
[INFO] [stdout] 882 |       let mut full: Vec<HpxCell<u64>> = (0..12_u64).into_iter()
[INFO] [stdout]     |           ----^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/op.rs:896:11
[INFO] [stdout]     |
[INFO] [stdout] 896 |       let mut full: Vec<HpxCell<u64>> = (0..12_u64).into_iter()
[INFO] [stdout]     |           ----^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/compressed.rs:113:43
[INFO] [stdout]     |
[INFO] [stdout] 113 |   fn push_n_empty_nodes_notest(&mut self, mut n: H) {
[INFO] [stdout]     |                                           ----^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nested/moc/compressed.rs:182:24
[INFO] [stdout]     |
[INFO] [stdout] 182 |           let (mut dd, mut target_h) = if self.d > curr_d {
[INFO] [stdout]     |                        ----^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/nested/bmoc.rs:1085:20
[INFO] [stdout]      |
[INFO] [stdout] 1085 |       let (mut dd, mut target_h) = if d > curr_d { // case previous hash deeper that current hash
[INFO] [stdout]      |                    ----^^^^^^^^
[INFO] [stdout]      |                    |
[INFO] [stdout]      |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `haversine_dist`
[INFO] [stdout]    --> src/lib.rs:287:4
[INFO] [stdout]     |
[INFO] [stdout] 287 | fn haversine_dist(p1_lon: f64, p1_lat: f64, p2_lon: f64, p2_lat: f64) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `next_clockwise`
[INFO] [stdout]   --> src/compass_point.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |   pub(super) fn next_clockwise(&self) -> Cardinal {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `next_counter_clockwise`
[INFO] [stdout]   --> src/compass_point.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |   pub(super) fn next_counter_clockwise(&self) -> Cardinal {
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_node_empty`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:105:6
[INFO] [stdout]     |
[INFO] [stdout] 105 |   fn push_node_empty(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_node_empty_notest`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:109:6
[INFO] [stdout]     |
[INFO] [stdout] 109 |   fn push_node_empty_notest(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_node_full`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 |   fn push_node_full(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_leaf_empty`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:138:6
[INFO] [stdout]     |
[INFO] [stdout] 138 |   fn push_leaf_empty(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_leaf_empty_notest`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:142:6
[INFO] [stdout]     |
[INFO] [stdout] 142 |   fn push_leaf_empty_notest(&mut self) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `push_leaf_full`
[INFO] [stdout]    --> src/nested/moc/compressed.rs:149:6
[INFO] [stdout]     |
[INFO] [stdout] 149 |   fn push_leaf_full(&mut self) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/nested/moc/mod.rs:607:6
[INFO] [stdout]     |
[INFO] [stdout] 607 |   fn new(mut it: &mut R) -> MOCIteratorFromRefRanges<H, R> {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `highest_one_bit`
[INFO] [stdout]    --> src/nested/mod.rs:213:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | const fn highest_one_bit(mut i: u64) -> u64 {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `nside_remainder_mask`
[INFO] [stdout]    --> src/nested/mod.rs:431:3
[INFO] [stdout]     |
[INFO] [stdout] 431 |   nside_remainder_mask: u64, // = nside - 1
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hash_v1`
[INFO] [stdout]    --> src/nested/mod.rs:534:6
[INFO] [stdout]     |
[INFO] [stdout] 534 |   fn hash_v1(&self, lon: f64, lat: f64) -> u64 {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hash_with_dxdy_v1`
[INFO] [stdout]    --> src/nested/mod.rs:678:6
[INFO] [stdout]     |
[INFO] [stdout] 678 |   fn hash_with_dxdy_v1(&self, lon: f64, lat: f64) -> (u64, f64, f64) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_coos_in_base_cell`
[INFO] [stdout]    --> src/nested/mod.rs:732:6
[INFO] [stdout]     |
[INFO] [stdout] 732 |   fn to_coos_in_base_cell(&self, ij: &mut (u64, u64)) {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `modulo_nside`
[INFO] [stdout]    --> src/nested/mod.rs:739:6
[INFO] [stdout]     |
[INFO] [stdout] 739 |   fn modulo_nside(&self, val: u64) -> u64 {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `ncell_in_cone_upper_bound`
[INFO] [stdout]     --> src/nested/mod.rs:2342:6
[INFO] [stdout]      |
[INFO] [stdout] 2342 |   fn ncell_in_cone_upper_bound(&self, cone_radius: f64) -> usize {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `hashs`
[INFO] [stdout]     --> src/nested/mod.rs:2674:6
[INFO] [stdout]      |
[INFO] [stdout] 2674 |   fn hashs<T: LonLatT>(&self, poly_vertices: &[T]) -> Box<[u64]> {
[INFO] [stdout]      |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `allsky_bmoc`
[INFO] [stdout]     --> src/nested/mod.rs:2684:6
[INFO] [stdout]      |
[INFO] [stdout] 2684 |   fn allsky_bmoc(&self) -> BMOC {
[INFO] [stdout]      |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `build_lupt`
[INFO] [stdout]     --> src/nested/mod.rs:3137:6
[INFO] [stdout]      |
[INFO] [stdout] 3137 |   fn build_lupt(depth: u8) -> [[u64; 6]; 6] {
[INFO] [stdout]      |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `to_degrees`
[INFO] [stdout]     --> src/nested/mod.rs:4023:6
[INFO] [stdout]      |
[INFO] [stdout] 4023 |   fn to_degrees(lonlats: &mut [(f64, f64)]) {
[INFO] [stdout]      |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `triangular_number_x4_u32`
[INFO] [stdout]    --> src/ring/mod.rs:160:21
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub(crate) const fn triangular_number_x4_u32(n: u32) -> u64 {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `build_hash`
[INFO] [stdout]    --> src/ring/mod.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn build_hash(nside: u32, i_ring: u32, mut i_in_ring: u32) -> u64 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `from_cor_matrix`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |   pub fn from_cor_matrix(sig_x: f64, sig_y: f64, rho: f64) -> Ellipse {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `to_a_b_theta`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:62:10
[INFO] [stdout]    |
[INFO] [stdout] 62 |   pub fn to_a_b_theta(&self) -> (f64, f64, f64) {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_stat_by_circle`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 |   fn extended_stat_by_circle(&self, sig: f64) -> Ellipse {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_stat`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:79:6
[INFO] [stdout]    |
[INFO] [stdout] 79 |   fn extended_stat(&self, other: &Ellipse) -> Ellipse {
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `extended_geom_by_circle`
[INFO] [stdout]   --> src/xy_geom/ellipse.rs:87:6
[INFO] [stdout]    |
[INFO] [stdout] 87 |   fn extended_geom_by_circle(&self, sig: f64) -> Ellipse {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `path_along_edge`
[INFO] [stdout]    --> src/xy_geom/ellipse.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 122 |   pub fn path_along_edge(a: f64, b: f64, theta: f64, half_num_points: usize) -> Box<[(f64, f64)]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `rotate`
[INFO] [stdout]    --> src/xy_geom/ellipse.rs:141:4
[INFO] [stdout]     |
[INFO] [stdout] 141 | fn rotate(x: f64, y: f64, cost: f64, sint: f64) -> (f64, f64) {
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `path_along_edge`
[INFO] [stdout]    --> src/sph_geom/elliptical_cone.rs:150:10
[INFO] [stdout]     |
[INFO] [stdout] 150 |   pub fn path_along_edge(lon: f64, lat: f64, a: f64, b: f64, theta: f64, half_num_points: usize) -> Box<[(f64, f64)]> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `lonlat2coo3d_v2`
[INFO] [stdout]    --> src/sph_geom/mod.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn lonlat2coo3d_v2(vertices: Box<[LonLat]>) -> Vec<Coo3D> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `compute_cross_products`
[INFO] [stdout]    --> src/sph_geom/mod.rs:212:4
[INFO] [stdout]     |
[INFO] [stdout] 212 | fn compute_cross_products(vertices: &Box<[Coo3D]>) -> Box<[Vect3]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `make_bench_data`
[INFO] [stdout]    --> src/sph_geom/mod.rs:412:6
[INFO] [stdout]     |
[INFO] [stdout] 412 |   fn make_bench_data(n: u32) -> Box<[LonLat]> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cone_special_point_in_eqr`
[INFO] [stdout]    --> src/special_points_finder.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn cone_special_point_in_eqr(mut z: f64, z0: f64, eucl_cone_radius: f64, north_point: bool,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `cone_special_point_in_pc`
[INFO] [stdout]    --> src/special_points_finder.rs:283:8
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub fn cone_special_point_in_pc(mut z: f64, cone_center_lon_mod_half_pi: f64,
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `delta_depth` should have an upper case name
[INFO] [stdout]    --> src/nested/gpu.rs:233:11
[INFO] [stdout]     |
[INFO] [stdout] 233 |     const delta_depth: u8 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^ help: convert the identifier to upper case: `DELTA_DEPTH`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `delta_depth` should have an upper case name
[INFO] [stdout]    --> src/nested/gpu.rs:274:11
[INFO] [stdout]     |
[INFO] [stdout] 274 |     const delta_depth: u8 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^ help: convert the identifier to upper case: `DELTA_DEPTH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `delta_depth` should have an upper case name
[INFO] [stdout]    --> src/nested/gpu.rs:317:11
[INFO] [stdout]     |
[INFO] [stdout] 317 |     const delta_depth: u8 = 1;
[INFO] [stdout]     |           ^^^^^^^^^^^ help: convert the identifier to upper case: `DELTA_DEPTH`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 66 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 40.27s
[INFO] running `Command { std: "docker" "inspect" "c9d08b0064734f0d8dd925b12d3e96c51a2e91baacbb090f64eb6b9ef5afbc76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9d08b0064734f0d8dd925b12d3e96c51a2e91baacbb090f64eb6b9ef5afbc76", kill_on_drop: false }`
[INFO] [stdout] c9d08b0064734f0d8dd925b12d3e96c51a2e91baacbb090f64eb6b9ef5afbc76
